//
//  EDSBaseModel.h
//  DriveSchoolCoach
//
//  Created by TangBin on 2019/7/8.
//  Copyright © 2019 TangBin. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/**
 模型基础类
 */
@interface TYZBaseModel : NSObject <NSCopying, NSCoding>

/**
 将Json（NSData，NSString，NSDictionary）转成Model
 
 @param json json description
 @return model
 */
+ (instancetype)tyz_modelWithJson:(id)json;

/**
 字段转模型
 
 @param dict dict description
 @return model
 */
+ (instancetype)tyz_modelWithDictionary:(NSDictionary *)dict;

/**
 json转模型数组
 
 @param json json description
 @return return value description
 */
+ (NSArray *)tyz_modelArrayWithJson:(id)json;


/**
 将model转成json对象
 
 @return return value description
 */
- (id)toJsonObject;

/**
 将model转成NSData
 
 @return return value description
 */
- (NSData *)toJsonData;

/**
 将model转成string
 
 @return return value description
 */
- (NSString *)toJsonString;

//+ (NSSet *)propertyKeys;

//@property (nonatomic, copy, readonly) NSDictionary *dictionaryValue;

@end

NS_ASSUME_NONNULL_END
